Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

148
Visualizações
El objeto de usuario se está llenando pero Auth.currentSession devuelve "No se encontró ningún usuario"

Cuando el usuario hace clic en el botón "iniciar sesión" y si user.challangeName === 'NEW_PASSWORD_REQUIRED' es verdadero, redirijo al usuario a una página (pantalla de formulario) donde puede proporcionar la entrada para los atributos requeridos y una nueva contraseña . Incluso aunque el objeto de usuario se complete al hacer clic en el botón de inicio de sesión, al usar Auth.currentsession en la pantalla del formulario se imprimirá "No se encontró ningún usuario".

¿Alguien puede decirme por qué no veo ningún usuario? ¿Qué estoy haciendo mal aquí?

Aquí está mi función de inicio de sesión (activada cuando se hace clic en el botón de inicio de sesión) donde dirijo al usuario a la pantalla de cambio de contraseña (pantalla de formulario) si user.challangeName === 'NEW_PASSWORD_REQUIRED' es verdadero.

 const login = async (email, password) => { try { const user = await Auth.signIn(email, password); if (user.challengeName === 'NEW_PASSWORD_REQUIRED') { navigate('/change-password'); return; } if (user) { setToken(user.signInUserSession.idToken.jwtToken); const userDetails = await getAccountDetails(); dispatch({ type: LOGIN, payload: { user: { attributes: user.attributes, username: user.username }, client: userDetails } }); } } catch (error) { await logout(); throw error; } };

Aquí está mi función onSubmit en la pantalla de cambio de contraseña donde eventualmente quiero usar Auth.completeNewPassword para actualizar la contraseña del usuario en Cognito

 const onSubmitClick = (e) => { e.preventDefault(); if (validateFields()); Auth.currentSession() .then((user) => console.log(user)) .catch((err) => console.log(err)); };

Aquí está la documentación proporcionada por AWS https://docs.amplify.aws/lib/auth/manageusers/q/platform/js/#forgot-password y el código proporcionado por AWS para actualizar la contraseña

 Auth.signIn(username, password) .then(user => { if (user.challengeName === 'NEW_PASSWORD_REQUIRED') { const { requiredAttributes } = user.challengeParam; // the array of required attributes, eg ['email', 'phone_number'] Auth.completeNewPassword( user, // the Cognito User Object newPassword, // the new password // OPTIONAL, the required attributes { email: 'xxxx@example.com', phone_number: '1234567890' } ).then(user => { // at this time the user is logged in if no MFA required console.log(user); }).catch(e => { console.log(e); }); } else { // other situations } }).catch(e => { console.log(e); });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Nueva respuesta actualizada para reflejar su publicación actualizada, cambie onSubmitClick a lo siguiente:

 const onSubmitClick = (e) => { e.preventDefault(); if (validateFields()); Auth.currentAuthenticatedUser() .then(user => { console.log(user)) }) .then((data) => console.log(data)) .catch((err) => console.log(err)); };

Está viendo la documentación que muestra cómo usar el usuario después de Auth.signIn() (que fue mi respuesta anterior), en comparación con lo que usa: Auth.currentAuthenticatedUser() . El ejemplo de documentación adecuado que debe consultar es este:https://www.docs.amplify.aws/lib/auth/manageusers/q/platform/js

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda